﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using AccesoDatos.Modulos.ClasesAccesoDatos;
using Modelo.Modulos.ClasesModelado;


namespace Logica.Modulos.ClasesLogica
{
   public class UsuariosLog:Negocio
    {
       public List<UsuarioMod> ConsultarUsuarios()
       {
           try
           {
               this.AbrirConexion();

               UsuriosBD objBD = new UsuriosBD();

               List<UsuarioMod> lista = objBD.ConsultarUsuarios(this.comando);

               this.CerrarConexion();

               return lista;
           }
           catch (Exception exc)
           {
               this.CerrarConexion();
               throw exc;
           }
       }

       public UsuarioMod ConsultarUsuarioContrasena(UsuarioMod objs)
       {
           try
           {
               this.AbrirConexion();

               UsuriosBD objBD = new UsuriosBD();

               UsuarioMod objUsuarioContrasena = objBD.ConsultarUsuarioContrasena(this.comando,objs);

               this.CerrarConexion();

               return objUsuarioContrasena;
           }
           catch (Exception exc)
           {
               this.CerrarConexion();
               throw exc;
           }
       }

       public List<PuestosMod> ConsultarPuestos()
       {
           try
           {
               this.AbrirConexion();

               UsuriosBD objBD = new UsuriosBD();

               List<PuestosMod> lista = objBD.ConsultarPuestos(this.comando);

               this.CerrarConexion();

               return lista;
           }
           catch (Exception exc)
           {
               this.CerrarConexion();
               throw exc;
           }
       }
       public List<PerfilesMod> ConsultarPerfiles()
       {
           try
           {
               this.AbrirConexion();

               UsuriosBD objBD = new UsuriosBD();

               List<PerfilesMod> lista = objBD.ConsultarPerfil(this.comando);

               this.CerrarConexion();

               return lista;
           }
           catch (Exception exc)
           {
               this.CerrarConexion();
               throw exc;
           }
       }

       public void InsertarUsuario(UsuarioMod obj)
       {
           try
           {
               this.IniciarTransaccion();

               UsuriosBD objBD = new UsuriosBD();

               objBD.InsertarUsuario(this.comando, obj);

               this.ConfirmarTransaccion();
           }
           catch (Exception exc)
           {
               this.DeshacerTransaccion();
               throw exc;
           }
       }


       public void EliminarUsuario(UsuarioMod obj)
       {
           try
           {
               this.IniciarTransaccion();

               UsuriosBD objBD = new UsuriosBD();

               objBD.EliminarUsuario(this.comando, obj);

               this.ConfirmarTransaccion();
           }
           catch (Exception exc)
           {
               this.DeshacerTransaccion();
               throw exc;
           }
       }
       

       public List<UsuarioMod> ConsultarClienteId(UsuarioMod objs)
       {
           try
           {
               this.AbrirConexion();

               UsuriosBD objBD = new UsuriosBD();

               List<UsuarioMod> lista = objBD.ConsultarUsuarioID(this.comando, objs);

               this.CerrarConexion();

               return lista;
           }
           catch (Exception exc)
           {
               this.CerrarConexion();
               throw exc;
           }
       }

       public void ActualizarUsuario(UsuarioMod obj)
       {
           try
           {
               this.IniciarTransaccion();

               UsuriosBD objBD = new UsuriosBD();

               objBD.ActualizarUsuario(this.comando, obj);

               this.ConfirmarTransaccion();
           }
           catch (Exception exc)
           {
               this.DeshacerTransaccion();
               throw exc;
           }
       }


    }
}
